Information processing apparatus, information processing method, and information processing program

ABSTRACT

An apparatus for controlling a display screen including a touch-sensitive panel generating position signals representing a set of positions of a single continuous touch activation between a first time and a second time; and a processor coupled to the panel. The processor configured to: process the signals to detect first and second characteristics of the set; and generate output signals causing a display screen to initiate first and second operations corresponding to the first and second characteristics.

CROSS-REFERENCE TO RELATED APPLICATION

The present application contains subject matter related to thatdisclosed in Japanese Priority Patent Application JP 2009-230745 filedin the Japan Patent Office on Oct. 2, 2009, the entire content of whichis hereby incorporated by reference.

BACKGROUND

1. Technological Field

The present invention relates to an information processing apparatus, aninformation processing method, and an information processing program.Embodiments of the present invention are suitably applied to aninformation processing apparatus that executes processing in response toan operation input made on a touch screen, for example.

2. Description of the Related Art

Hitherto, an information processing apparatus including a touch screenhas been used widely. In that type of information processing apparatus,more intuitive input operations are realized by making inputs on thetouch screen with operations such as tapping, dragging, and flicking.The term “dragging” implies an operation of moving, e.g., a finger whilethe finger is kept touched on the touch screen, and the term “flicking”implies an operation of flicking, e.g., a finger on the surface of thetouch screen.

As one example, an information processing apparatus is proposed in whichan image is scrolled when the dragging is performed on the touch screen.

As another example, an information processing apparatus is proposed inwhich an image is scaled up and down respectively when pinching-out andpinching-in are performed on the touch screen (see, e.g., JapaneseUnexamined Patent Application Publication No. 2008-299474 (pages 24, 25and 34)). The term “pinching-out” implies an operation of touching twofingers onto the touch panel and widening a space between the twofingers, and the term “pinching-in” implies an operation of touching twofingers onto the touch panel and narrowing a space between the twofingers.

Thus, in those proposed information processing apparatuses, when agesture operation corresponding to a predetermined type of processing(e.g., scrolling of an image) is recognized from an operation input madeon the touch screen, the predetermined type of processing is executed.

In the information processing apparatuses described above, however, onlyone type of processing is executed with one operation input because theoperation input and the gesture operation are correlated in one-to-onerelation, for example, such that the dragging is recognized as thegesture operation corresponding to the scrolling. The expression “oneoperation input” used herein represents an input provided by operatinggestures of touching the finger onto the touch screen and then releasingthe finger from the touch screen.

In view of the above-identified problems, it is desirable to propose aninformation processing apparatus, an information processing method, andan information processing program, which can realize a more versatileoperating system.

SUMMARY

Consistent with one embodiment, an apparatus for controlling a displayscreen is disclosed. The apparatus may include a touch-sensitive panelgenerating position signals representing a set of positions of a singlecontinuous touch activation between a first time and a second time. Theapparatus may further include a processor coupled to the panel, theprocessor configured to process the signals to detect first and secondcharacteristics of the set and generate output signals causing a displayscreen to initiate first and second operations corresponding to thefirst and second characteristics.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram of an information processingapparatus representing the gist of an embodiment.

FIG. 2 illustrates an external appearance of a portable terminalaccording to the embodiment.

FIG. 3 is a block diagram illustrating a hardware configuration of theportable terminal according to the embodiment.

FIG. 4 is an illustration to explain a scroll operation and ascale-up/down operation.

FIG. 5 is an illustration to explain detection of a motion vector.

FIG. 6 is an illustration to explain a turn-back motion in the dragging.

FIG. 7 is a graph to explain an example of change in an extent of motioncurvature.

FIG. 8 is a flowchart illustrating a processing procedure for gestureoperation recognition.

FIG. 9 is an illustration to explain setting of a display region.

FIG. 10 is a graph to explain the relationship between a temporaryscaling factor and a final scaling factor in another embodiment.

DETAILED DESCRIPTION

Embodiments of the present invention will be described below. Thedescription is made in the following sequence:

1. Embodiment

2. Other embodiments

1. Embodiment 1-1. Gist of Embodiment

The gist of the embodiment is first described. After describing thegist, details of the embodiment will be described.

In FIG. 1, reference numeral 1 denotes an information processingapparatus. The information processing apparatus 1 includes a detectionunit 2 for detecting an amount of motion (movement) (i.e., a firstcharacteristic of the operation input) of an operation input made on adisplay screen and an extent of curvature (curving) (i.e., a secondcharacteristic of the operation input) of the motion per predeterminedtime. The information processing apparatus 1 further includes arecognition unit 3 for recognizing, based on the amount of motion,whether a gesture operation corresponding to scrolling of an imagedisplayed on the display screen (i.e., a first operation) has beenperformed, and for recognizing, based on the extent of curvature,whether a gesture operation corresponding to scaling-up or -down of theimage (i.e., a second operation) has been performed.

In addition, the information processing apparatus 1 includes a controlunit 4 for executing both the scrolling of the image and the scaling-upor -down of the image when the recognition unit 3 recognizes that thegesture operation corresponding to the scrolling of the image and thegesture operation corresponding to the scaling-up or -down of the imagehave been performed.

With the configuration described above, the information processingapparatus 1 can execute plural types of processing, such as thescrolling of the image and the scaling-up or -down of the image, inresponse to one operation input.

A concrete example of the information processing apparatus 1 having theabove-described configuration will be described in detail below.

1-2. External Appearance of Portable Terminal

An external appearance of a portable terminal 100 as the concreteexample of the information processing apparatus 1 is now described withreference to FIG. 2.

In the portable terminal 100, a first casing 101 and a second casing 102are coupled by coupling members 103A and 103B in the form of hinges, forexample, to be rotatable in a direction moving away from each other orin a direction coming closer to each other. Further, the first casing101 and the second casing 102 are electrically connected to each other.

The first casing 101 and the second casing 102 are each substantially ina flat rectangular shape having such a size as graspable by one hand.

A first touch screen (i.e., a touch-sensitive panel) 104 having arectangular shape is disposed at a center of a front surface 101A of thefirst casing 101. A second touch screen (i.e., a touch-sensitive panel)105 having a shape and a size similar to those of the first touch screen104 is disposed at a center of a front surface 102A of the second casing102.

The first touch screen 104 and the second touch screen 105 are each adisplay device adaptable for a touch operation (i.e., a touchactivation) with a user's finger (or a pen). The portable terminal 100is utilized by a user in such a state, for example, that the first touchscreen 104 serves as an upper screen and the second touch screen 105serves as a lower screen.

Various hardware buttons are disposed on both sides of the second touchscreen 105.

1-3. Hardware Configuration of Portable Terminal

A hardware configuration of the portable terminal 100 is now describedwith reference to FIG. 3. In the portable terminal 100, a CPU 120, a ROM121, and a RAM 122 are interconnected via a host bus 123. “CPU” is anacronym of Central Processing Unit. “ROM” is an acronym of Read OnlyMemory. “RAM” is an acronym of Random Access Memory.

In the portable terminal 100, various processes are executed by the CPU120, which loads various programs written in the ROM 121, etc. into theRAM 122 and which executes those programs.

The host bus 123 is connected to an external bus 125 via a bridge 124.Further, the external bus 125 is connected to an operating unit 127, afirst liquid crystal panel 104A, a first touch panel 104B, a secondliquid crystal panel 105A, and a second touch panel 105B via aninterface 126. In addition, the external bus 125 is connected to astorage unit 128, a drive 129, a connecting port 130, and a radiocommunication unit 131 via the interface 126.

The CPU 120 controls the various units in accordance with input signalswhich have been successively sent from the first touch panel 104B, thesecond touch panel 105B, and the operating unit 127 via the interface126, the external bus 125, and the host bus 123.

The first touch panel 104B is a device constituting the first touchscreen 104 in cooperation with the first liquid crystal panel 104A.Also, the second touch panel 105B is a device constituting the secondtouch screen 105 in cooperation with the second liquid crystal panel105A.

When an arbitrary position on the first touch panel 104B is touched bythe finger, the first touch panel 104B detects the coordinates of theposition where the first touch panel 104B is touched (i.e., the touchposition), and then sends an input signal (i.e., position signal)representing the coordinates of the touch position to the CPU 120.

Upon deriving the coordinates of the touch position from the inputsignal sent from the first touch panel 104B, the CPU 120 converts theobtained coordinates to coordinates on a screen of the first liquidcrystal panel 104A, thereby recognizing which position is touched on thescreen of the first liquid crystal panel 104A.

Further, the CPU 120 successively converts the coordinates of the touchpositions derived from each of the input signals sent per certain timeto coordinates on the screen of the first liquid crystal panel 104A(i.e., a set of positions of a single continuous touch activationbetween a first time and a second time), thereby recognizing how thetouch position has been moved (i.e., a locus of the touch position).

On the basis of the touch position and the locus thereof which have beenrecognized as described above, the CPU 120 determines what touchoperation has been made at which position on the screen of the firstliquid crystal panel 104A.

Similarly, the second touch panel 105B sends, to the CPU 120, an inputsignal representing the coordinates of the detected touch position. TheCPU 120 determines, from the input signal, what touch operation has beenmade at which position on the screen of the second liquid crystal panel105A.

The operating unit 127 is a device including various hardware buttonsand so on. The operating unit 127 sends, to the CPU 120, input signalscorresponding to operations of those hardware buttons. On the basis ofthe input signal sent from the operating unit 127, the CPU 120determines which one of the hardware buttons has been operated.

The CPU 120 is connected to a nearby external device OC via a connectingport 130 in a manner of device-to-device connection for directcommunication with the external device OC.

Further, the CPU 120 is connected to the Internet NT by the radiocommunication unit 131 via an access point for communication with aserver and other devices on the Internet NT.

When the CPU 120 obtains, e.g., contents data (such as dynamic imagedata and music data) as a result of communicating with other devices viathe connecting port 130 or the radio communication unit 131 inaccordance with user's operations, for example, the CPU 120 stores theobtained data in the storage unit 128. In addition, when a removablerecording medium RW (such as an optical disk or a flash memory) isinserted in the drive 129, the CPU 120 stores the contents data in theremovable recording medium RW in accordance with user's operations.

1-4. Web Browser Screen

The portable terminal 100 has the Web browser function for browsing Webpages provided by servers on the Internet. A Web browser screen providedby the Web browser function and input operations made on the Web browserscreen will be described below.

With execution of a Web browser program, the CPU 120 communicates withany server on the Internet via the radio communication unit 131 andobtains data of a Web page from the relevant server. Further, the CPU120 displays, on the first touch screen 104, for example, a Web browserscreen for displaying a Web page image based on the obtained data of theWeb page.

On the Web browser screen, the whole or a part of the Web page image isdisplayed depending on the size of the Web page image. Additionally,when the CPU 120 initially displays the Web browser screen by executingthe Web browser program, the CPU 120 sets a scaling factor of the Webpage image to a reference value (i.e., ×1), for example.

When dragging or flicking is performed on the first touch screen 104,the CPU 120 recognizes that a gesture operation corresponding toscrolling of the Web page image (referred to also as a “scrolloperation”) has been performed. Then, the CPU 120 scrolls the Web pageimage in response to the scroll operation.

Further, as illustrated in FIG. 4, when the CPU 120 recognizes that,during the dragging on the first touch screen 104, the finger is movedwhile drawing one or more circles, the CPU 120 recognizes that such amotion represents, along with the scroll operation, a gesture operationcorresponding to scaling-up or -down of the Web page image. The gestureoperation corresponding to the scaling-up of the Web page image iscalled a “scale-up operation”, and the gesture operation correspondingto the scaling-down of the Web page image is called a “scale-downoperation”. Further, the scale-up operation and the scale-down operationare collectively called a “scale-up/down operation”.

In the above case, the CPU 120 not only scrolls the Web page image inresponse to the scroll operation, but also scales up or down the Webpage image in response to the scale-up/down operation. Morespecifically, when the finger draws a circle clockwise, for example, theCPU 120 recognizes that the scale-up operation has been performed, andthen scales up the Web page image with a center set to the positioncurrently touched by the finger. On the other hand, when the fingerdraws a circle counterclockwise, for example, the CPU 120 recognizesthat the scale-down operation has been performed, and then scales downthe Web page image with a center set to the position currently touchedby the finger.

A process of recognizing the gesture operation, such as the scrolloperation and the scale-up/down operation, performed on the first touchscreen 104 in the portable terminal 100 will be described in detailbelow.

When the touch operation by one finger is performed on the first touchscreen 104, the CPU 120 derives the coordinates of the touch position onthe screen from an input signal sent from the first touch screen 104 percertain time (e.g., several msec).

On the basis of the screen coordinates of the touch position per certaintime, the CPU 120 detects an amount of motion of the touch position percertain time. Upon recognizing that the amount of motion of the touchposition per certain time is not less than a predetermined value, theCPU 120 recognizes that such a motion represents the dragging or theflicking made on the first touch screen 104, and that the scrolloperation has been performed. Incidentally, the CPU 120 determines,based on a motion speed of the touch position, etc., which one of thedragging and the flicking has been made. Then, the CPU 120 scrolls theWeb page image in accordance with, e.g., the amount, the direction andthe speed of motion of the touch position per predetermined time.

Further, on the basis of the screen coordinates of the touch positionper certain time, the CPU 120 detects an extent of curvature of thelocus along which the touch position is moved (referred to also as an“extent of motion curvature”) per certain time. The CPU 120 recognizesthe scale-up/down operation based on the extent of motion curvature.

More specifically, it is assumed that as illustrated in FIG. 5, by wayof example, the CPU 120 derives three screen coordinates A, B and C ofthe touch position in sequence from the input signals which have beensuccessively sent from the first touch screen 104 per certain time. Ifthe screen coordinate C is obtained currently (i.e., at this time), thescreen coordinate B has been obtained at the last time, and the screencoordinate A has been obtained before last.

In that case, the CPU 120 detects a motion vector v1 starting from thescreen coordinate B and ending at the screen coordinate C based on boththe screen coordinate C obtained currently and the screen coordinate Bobtained at the last time. The motion vector v1 represents the amountand the direction of motion of the touch position from the last time tothe current time.

Further, the CPU 120 detects a motion vector v2 starting from the screencoordinate A and ending at the screen coordinate B based on both thescreen coordinate B obtained at the last time and the screen coordinateA obtained before last. The motion vector v2 represents the amount andthe direction of motion of the touch position from the time before lastto the last time.

By using those two motion vectors v1 and v2 obtained as described above,the CPU 120 calculates a change in the direction of motion of the touchposition per certain time (referred to also as a “motion directionchange”) f(v1,v2) with the following formula (1):

$\begin{matrix}{{f\left( {{v\; 1},{v\; 2}} \right)} = \frac{{v\; 1 \times v\; 2}}{{{v\; 1}} \cdot {{v\; 2}}}} & (1)\end{matrix}$

In the case of |v1|=0 or |v2|=0, the CPU 120 calculates f(v1,v2)=0.

Further, the motion direction change f(v1,v2) takes, e.g., a positivevalue when the motion direction of the touch position is changedclockwise, and it takes, e.g., a negative value when the motiondirection of the touch position is changed counterclockwise.

By using the motion direction change f(v1,v2), the CPU 120 calculates anextent R(n) of motion curvature per certain time with the followingformula (2):R(n)=R(n−1)×α+f(v1,v2)×(1−α)  (2)

R(n−1) represents the preceding extent of motion curvature. The CPU 120calculates the extent R(n) of motion curvature whenever the screencoordinate of the touch position is derived from the input signal sentfrom the first touch screen 104. Accordingly, the term “preceding extentof motion curvature” implies a value of the extent of motion curvaturecalculated when the screen coordinate of the touch position has beenobtained at the last time.

Further, α and (1−α) represent weight coefficients for applying weightsto R(n−1) and f(v1,v2), respectively. Thus, in the portable terminal100, the current extent R(n) of motion curvature is calculated inconsideration of the preceding extent R(n−1) of motion curvature. In theportable terminal 100, therefore, as the dragging is continued whiledrawing a circle, an absolute value of the extent R(n) of motioncurvature increases.

When the motion direction of the finger is abruptly turned back at somepoint in time during the dragging as illustrated in FIG. 6, an absolutevalue of the motion direction change f(v1,v2) is abruptly increased atthat point in time. In the portable terminal 100, however, since thecurrent extent R(n) of motion curvature is calculated in considerationof the preceding extent R(n−1) of motion curvature along with the motiondirection change f(v1,v2), the absolute value of the extent R(n) ofmotion curvature is not abruptly increased even in the above-describedcase.

For that reason, in the portable terminal 100, the absolute value of theextent R(n) of motion curvature is larger when the dragging is continuedwhile drawing a circle than when the dragging is abruptly turned back.As a result, the portable terminal 100 can discriminate, based on theabsolute value of the current extent R(n) of motion curvature, the casewhere the dragging is continued while drawing a circle and the casewhere the dragging is abruptly turned back.

Herein, the motion direction change f(v1,v2) takes a positive value whenthe touch position is moved clockwise, and takes a negative value whenthe touch position is moved counterclockwise. Therefore, when the extentR(n) of motion curvature takes a positive value, this implies that thetouch position is moved clockwise, and when the extent R(n) of motioncurvature takes a negative value, this implies that the touch positionis moved counterclockwise.

In view of the above-described points, when the extent R(n) of motioncurvature takes a positive value, the CPU 120 determines whether theextent R(n) of motion curvature is not less than a predeterminedpositive value (referred to as a “scale-up start value”). If the CPU 120determines that the extent R(n) of motion curvature is not less than thescale-up start value, the CPU 120 recognizes that the scale-up operationhas been started.

On the other hand, when the extent R(n) of motion curvature takes anegative value, the CPU 120 determines whether the extent R(n) of motioncurvature is not more than a predetermined negative value (referred toas a “scale-down start value”). If the CPU 120 determines that theextent R(n) of motion curvature is not more than the scale-down startvalue, the CPU 120 recognizes that the scale-down operation has beenstarted.

The scale-up start value and the scale-down start value are set to havesuch absolute values that the scale-up/down operation is not recognizedwhen the dragging is abruptly turned back, and that the scale-up/downoperation is recognized only when the dragging is continued whiledrawing a circle.

When the CPU 120 recognizes, based on the extent R(n) of motioncurvature, that the scale-up/down operation has been started, the CPU120 calculates a change rate ΔS of the scaling factor of the Web pageimage (referred to also as a “scaling factor change rate”) with thefollowing formula (3) by using the extent R(n) of motion curvature:ΔS=β×R(n)  (3)

In the formula (3), β is a coefficient for converting the extent R(n) ofmotion curvature to the scaling factor change rate ΔS. The scalingfactor change rate ΔS takes a positive value if the extent R(n) ofmotion curvature is a positive value, and takes a negative value if theextent R(n) of motion curvature is a negative value.

After calculating the scaling factor change rate ΔS in such a manner,the CPU 120 sets, as a new scaling factor, a value resulting from addingthe scaling factor change rate ΔS to the current scaling factor of theWeb page image, and then displays the Web page image in accordance withthe new scaling factor. As a result, the Web page image displayed on theWeb browser screen is scaled up or down.

In the portable terminal 100, as seen from the formula (3), the scalingfactor change rate ΔS increases with the extent R(n) of motion curvaturetaking a larger value. Accordingly, in the portable terminal 100, thechange rate of the scale-up factor or the scale-down factor of the Webpage image increases as the dragging motion speed (i.e., the circledrawing speed) is relatively higher when the dragging is continued whiledrawing a circle.

Thus, in the portable terminal 100, the change rate of the scale-upfactor or the scale-down factor of the Web page image can be increasedwith the user quickly drawing a circle by the finger, and the changerate of the scale-up factor or the scale-down factor can be reduced withthe user slowly drawing a circle by the finger.

When the extent R(n) of motion curvature is less than the scale-up startvalue or more than the scale-down start value and hence the CPU 120recognizes only the scroll operation without recognizing the start ofthe scale-up/down operation, the CPU 120 executes only the scrolling ofthe Web page image.

While the finger is kept touched on the first touch screen 104, the CPU120 continues to obtain the screen coordinate of the touch position percertain time and to detect the amount of motion of the touch positionand the extent R(n) of motion curvature per certain time. Further, theCPU 120 scrolls the Web page image in accordance with the amount ofmotion of the touch position and, at the same time, scales up or downthe Web page image in accordance with the extent R(n) of motioncurvature.

FIG. 7 is a graph illustrating one example of change in the extent R(n)of motion curvature per certain time. In the graph of FIG. 7, a verticalaxis represents the extent R(n) of motion curvature, and a horizontalaxis represents time.

As seen from the graph of FIG. 7, the extent R(n) of motion curvature isnot less than the scale-up start value U1 at a time t1. Accordingly, theCPU 120 recognizes that the scale-up operation has been started at thetime t1. Then, the CPU 120 changes the scaling factor of the Web pageimage in accordance with the extent R(n) of motion curvature asdescribed above, thereby scaling up the Web page image.

After recognizing that the scale-up operation has been started, the CPU120 continues to change the scaling factor of the Web page image inaccordance with the extent R(n) of motion curvature until the extentR(n) of motion curvature becomes less than a predetermined positivevalue (referred to also as a “scale-up end value”) U2.

In the portable terminal 100, therefore, the Web page image iscontinuously scaled up while the finger is continuously moved in a wayof drawing a circle clockwise on the first touch screen 104.

The scale-up end value U2 is set to be smaller than the scale-up startvalue U1. Accordingly, in the portable terminal 100, once the scale-upoperation is recognized, a smaller value of the extent R(n) of motioncurvature is also recognized as representing the scale-up operation incomparison with the state before the recognition of the scale-upoperation.

When the extent R(n) of motion curvature becomes less than the scale-upend value U2 (i.e., after a time t2 in FIG. 7), the CPU 120 recognizesthat the scale-up operation has been ended. Then, the CPU 120 stopschanging of the scaling factor of the Web page image and holds thescaling factor of the Web page image constant. In the portable terminal100, therefore, the scaling-up of the Web page image is stopped at theend of the operation of drawing a circle clockwise on the first touchscreen 104.

Similarly, after recognizing that the scale-down operation has beenstarted, the CPU 120 continues to change the scaling factor of the Webpage image in accordance with the extent R(n) of motion curvature untilthe extent R(n) of motion curvature becomes more than (i.e., itsabsolute value becomes smaller than) a predetermined negative value(referred to also as a “scale-down end value”).

In the portable terminal 100, therefore, the Web page image iscontinuously scaled down while the finger is continuously moved in a wayof drawing a circle counterclockwise on the first touch screen 104.

The scale-down end value is set to be more than the scale-down startvalue (i.e., an absolute value of the former is set to be smaller thanthat of the latter). Accordingly, in the portable terminal 100, once thescale-down operation is recognized, a smaller absolute value of theextent R(n) of motion curvature is also recognized as representing thescale-down operation in comparison with the state before the recognitionof the scale-down operation.

When the extent R(n) of motion curvature becomes more than thescale-down end value (i.e., when an absolute value of the former becomessmaller than that of the latter), the CPU 120 recognizes that thescale-down operation has been ended. Then, the CPU 120 stops thescaling-down of the Web page image and holds the scaling factor of theWeb page image constant. In the portable terminal 100, therefore, thescaling-down of the Web page image is stopped at the end of theoperation of drawing a circle counterclockwise on the first touch screen104.

In the portable terminal 100, as described above, when the dragging isperformed while drawing a circle on the first touch screen 104, thescroll operation and the scale-up/down operation are both recognized,whereupon the Web page image is scrolled and scaled up or down.

Here, it is assumed that the CPU 120 recognizes an operation of stoppingthe finger at one position for a predetermined time with the finger kepttouched on the first touch screen 104 after the scale-up/down operationhas been performed (such an operation being referred to also as a “longpush operation after the scale-up/down operation”). In practice, at thattime, if the amount of motion of the touch position per certain time isnot larger than a predetermined value, the CPU 120 determines that thefinger is substantially stopped at one position, even though the fingeris not exactly stopped at one position.

In the above case, the CPU 120 recognizes that a gesture operation forselecting a position on the display screen corresponding to the currenttouch position (i.e., the position where the long push operation ismade) by the user has been performed, and then executes processing thatis set corresponding to the selected position. For example, when a linkdestination is set at a position on the Web page image in match with thecurrent touch position, the CPU 120 recognizes that the link destinationhas been selected, and then accesses a page at the link destination viathe radio communication unit 131.

Thus, in the portable terminal 100, operations of scrolling a Web pagein an arbitrary direction, scaling up an image at an arbitrary position,and further selecting that position, for example, can be seamlesslyexecuted with the user just performing the dragging once.

Be it noted that the first touch screen 104 and the CPU 120 in theportable terminal 100 represent hardware executing the function of thedetection unit 2 in the information processing apparatus 1 describedabove in “Gist of Embodiment”. Also, the CPU 120 in the portableterminal 100 represents hardware executing the functions of therecognition unit 3 and the control unit 4 in the information processingapparatus 1 described above in “Gist of Embodiment”.

1-5. Processing Procedure for Gesture Operation Recognition

As described above, the portable terminal 100 recognizes the gestureoperation, such as the scroll operation and the scale-up/down operation,made on the first touch screen 104. A processing procedure RT1 executedby the portable terminal 100 when recognizing the gesture operation madeon the first touch screen 104 (referred to also as a “processingprocedure RT1 for gesture operation recognition”) will be describedbelow with reference to FIG. 8.

The processing procedure RT1 for gesture operation recognition is aprocessing procedure that is executed by the CPU 120 in accordance witha program written in the ROM 121 or the storage unit 128.

After displaying the Web browser screen on the first touch screen 104,for example, the CPU 120 starts the processing procedure RT1 for gestureoperation recognition and shifts to step SP1.

In step SP1, the CPU 120 determines, based on the input signal sent fromthe first touch screen 104, whether the finger is touched on the firsttouch screen 104.

If the determination result of “NO” is obtained in step SP1, the CPU 120returns to step SP1 and waits for touching of the finger on the firsttouch screen 104.

On the other hand, if the determination result of “YES” is obtained instep SP1, this implies that an operation input has been made on the Webbrowser screen displayed on the first touch screen 104. In such a case,the CPU 120 shifts to next step SP2.

In step SP2, the CPU 120 derives screen coordinates of the touchposition from the input signal sent from the first touch screen 104.Further, the CPU 120 determines, based on the amount of motion of thetouch position per certain time, whether dragging or flicking has beenperformed on the first touch screen 104.

If the determination result of “YES” is obtained in step SP2, the CPU120 recognizes that the scroll operation has been performed, and thenshifts to next step SP3.

In step SP3, the CPU 120 scrolls the Web page image in accordance withthe scroll operation, and then shifts to next step SP4.

In step SP4, the CPU 120 calculates the motion vector v1 extending fromthe one-cycle preceding touch position to the current touch positionbased on both the screen coordinate of the touch position obtained atthis time and the screen coordinate of the touch position obtained atthe last time. Further, the CPU 120 calculates the motion vector v2extending from the two-cycle preceding touch position to the one-cyclepreceding touch position based on both the screen coordinate of thetouch position obtained at the last time and the screen coordinate ofthe touch position obtained before last. The CPU 120 then shifts to nextstep SP5.

In step SP5, the CPU 120 calculates the extent R(n) of motion curvaturewith the above-mentioned formulae (1) and (2) by using the motionvectors v1 and v2, and then shifts to next step SP6.

In step SP6, the CPU 120 determines whether the scale-up/down operationis currently being continued. The expression “the scale-up/downoperation is currently being continued” implies a state where the end ofthe scale-up/down operation is not yet recognized after the start of thescale-up/down operation has been recognized based on the extent R(n) ofmotion curvature obtained up to the last time.

If the scale-up/down operation is not currently being continued and thedetermination result of “NO” is obtained in step SP6, the CPU 120 shiftsto next step SP7.

In step SP7, the CPU 120 determines whether the extent R(n) of motioncurvature is not less than the scale-up start value or not more than thescale-down start value.

If the determination result of “YES” is obtained in step SP7, the CPU120 recognizes that the scale-up/down operation has been started, andthen shifts to next step SP9.

On the other hand, if the scale-up/down operation is currently beingcontinued and the determination result of “YES” is obtained in step SP6,the CPU 120 shifts to next step SP8.

In step SP8, the CPU 120 determines whether the extent R(n) of motioncurvature is not less than the scale-up end value or not more than thescale-down end value.

If the determination result of “YES” is obtained in step SP8, the CPU120 recognizes that the scale-up/down operation is being continued, andthen shifts to next step SP9.

In step SP9, the CPU 120 calculates the scaling factor change rate ΔSwith the above-mentioned formula (3) by using the extent R(n) of motioncurvature, and then shifts to next step SP10.

In step SP10, the CPU 120 sets a display region in the scaled-up/downWeb page image to scale up or down the Web page image with the currenttouch position being a center. The term “display region” implies aregion of the Web page image, which is displayed on the first touchscreen 104.

More specifically, the CPU 120 sets the display region by calculatingcoordinates Px and Py representing, e.g., a position at an upper leftcorner of the display region (referred to also as “display regioncoordinates Px and Py”). For example, the display region coordinates Pxand Py are represented, as illustrated in FIG. 9, as coordinates on anX-Y plane on condition that an upper left corner of the Web page imageis the origin, an axis extending in the left-and-right direction is an Xaxis, and an axis extending in the up-and-down direction is a Y axis.

Assume here that the current display region coordinates are Px(org) andPy(org), the display region coordinates Px and Py in the Web page imagescaled up or down with the current touch position being a center areexpressed by the following formulae (4) and (5).

In the following formulae (4) and (5), the coordinates representing thecurrent touch position are assumed to be Tx and Ty. It is also assumedthat Tx and Ty are indicated as coordinates on an X-Y plane on conditionthat an upper left corner of the display screen of the first touchscreen 104 (i.e., an upper left corner of the display region) is theorigin, an axis extending in the left-and-right direction is an X axis,and an axis extending in the up-and-down direction is a Y axis. Further,it is assumed in the following formulae (4) and (5) that a currentscaling factor of the Web page image is S(org) and a value resultingfrom adding the scaling factor change rate ΔS to S(org) is a new scalingfactor S.

$\begin{matrix}{{Px} = {{\left( {{{Px}({Org})} + {Tx}} \right) \times \frac{S}{S({Org})}} - {Tx}}} & (4) \\{{Py} = {{\left( {{{Py}({Org})} + {Ty}} \right) \times \frac{S}{S({Org})}} - {Ty}}} & (5)\end{matrix}$

The CPU 120 calculates, with the formulae (4) and (5), the displayregion coordinates Px and Py in the Web page image when the image isscaled up or down with the current touch position being a center. Aftersetting the display region in the Web page image when the image isscaled up or down with the current touch position being a center, asdescribed above, the CPU 120 shifts to next step SP11.

In step SP11, the CPU 120 aligns the position of the display region withthe calculated display region coordinates Px and Py on the Web pageimage that has been scaled up or down at the new scaling factor S. TheCPU 120 scales up or down the Web page image in such a manner with thecurrent touch position being a center, and then shifts to a next stepSP12.

Meanwhile, if the extent R(n) of motion curvature is less than thescale-up start value and more than the scale-down start value and thedetermination result of “NO” is obtained in step SP7, this implies thatthe scale-up/down operation is not performed. In such a case, the CPU120 shifts to next step SP12 without executing steps SP9 to SP11.

Also, if the extent R(n) of motion curvature is less than the scale-upend value and more than the scale-down end value and the determinationresult of “NO” is obtained in step SP8, this implies that thescale-up/down operation is not performed. In such a case, the CPU 120recognizes that the scale-up/down operation has been ended, and thenshifts to next step SP12 without executing steps SP9 to SP11.

If the determination result of “NO” is obtained in step SP2, thisimplies that the scroll operation and the scale-up/down operation arenot performed. In such a case, the CPU 120 shifts to next step SP12without executing steps SP3 to SP11.

In step SP12, the CPU 120 determines, based on the obtained screencoordinate of the touch position, whether the long push operation afterthe scale-up/down operation has been performed.

If the determination result of “YES” is obtained in step SP12, the CPU120 shifts to next step SP13.

In step SP13, the CPU 120 recognizes that a position on the displayscreen in match with the current touch position has been selected by theuser. Accordingly, the CPU 120 executes processing that is setcorresponding to the current touch position on the display screen, andthen returns to step SP1.

On the other hand, if the determination result of “NO” is obtained instep SP12, the CPU 120 returns to step SP1 without executing step SP13.

According to the above-described processing procedure RT1 for gestureoperation recognition, the CPU 120 recognizes the gesture operation madeon the first touch screen 104. Until the display of the Web browserscreen is turned off, the CPU 120 continues to execute the processingprocedure RT1 for gesture operation recognition.

1-6. Working Operations and Advantages

With the configuration described above, upon execution of the Webbrowser program, the portable terminal 100 displays, on the first touchscreen 104, the Web browser screen to display the Web page image.

Now, when the touch operation is performed on the first touch screen104, the portable terminal 100 recognizes the touch operation as theoperation input made on the Web browser screen, i.e., on the displayscreen, and detects the amount of motion of the touch position and theextent R(n) of motion curvature per predetermined time.

The portable terminal 100 recognizes, based on the detected amount ofmotion, whether the scroll operation has been performed, and furtherrecognizes, based on the detected extent R(n) of motion curvature,whether the scale-up/down operation has been performed.

When the portable terminal 100 recognizes that only the scroll operationhas been performed, it executes processing just to scroll the Web pageimage in accordance with the detected amount of motion of the touchposition.

On the other hand, when the portable terminal 100 recognizes that boththe scroll operation and the scale-up/down operation have beenperformed, it executes not only the scrolling of the Web page image, butalso the scaling-up or -down of the Web page image. At that time, theportable terminal 100 scrolls the Web page image in accordance with thedetected amount of motion of the touch position and scales up or downthe Web page image in accordance with the detected extent R(n) of motioncurvature.

Thus, the portable terminal 100 can execute, in response to oneoperation input, only the scrolling of the Web page image and both thescrolling of the Web page image and the scaling-up or -down of the Webpage image.

Further, since the scroll operation and the scale-up/down operation canbe both realized with the touch operation using one finger, the portableterminal 100 does not necessitate a touch screen adapted formulti-touching. In addition, the portable terminal 100 does notnecessitate a hardware key for executing the scale-up/down operation.

Accordingly, the configuration of the portable terminal 100 can besimplified in comparison with the case of employing the touch screenadapted for multi-touching or the hardware key for executing thescale-up/down operation.

In the portable terminal 100, a value of the extent R(n) of motioncurvature detected at the last time is also taken into account when theextent R(n) of motion curvature is detected per predetermined time.

Therefore, even when the user draws, e.g., a distorted circle and thelocus of the touch position temporarily comes close to a linear line,the portable terminal 100 can recognize the scale-up/down operation whena circle is substantially drawn in view of entirety.

In addition, while the finger is kept touched on the first touch screen104, the portable terminal 100 continues to detect the extent R(n) ofmotion curvature per predetermined time and to scale up or down the Webpage image in accordance with the detected extent R(n) of motioncurvature.

Therefore, while the finger is continuously moved in a way of drawing acircle on the first touch screen 104, the portable terminal 100 cancontinue to scale up or down the Web page image. Accordingly, in theportable terminal 100, the scale-up factor or the scale-down factor ofthe Web page image can be finely adjusted by the user adjusting thenumber of times of drawing a circle on the first touch screen 104.

With the configuration described above, upon detecting the operationinput made on the display screen, the portable terminal 100 recognizes aplurality of gesture operations (such as the scroll operation and thescale-up/down operation) from the detected operation input, and executesplural types of processing corresponding to the recognized pluralgesture operations.

As a result, the portable terminal 100 can execute, in response to oneoperation input, plural types of processing, such as the scrolling ofthe Web page image and the scaling-up or -down of the Web page image.

2. Other Embodiments Another Embodiment 1

In the embodiment described above, the CPU 120 calculates the currentextent R(n) of motion curvature based on both the motion directionchange f(v1,v2) and the preceding extent R(n−1) of motion curvature.

However, embodiments are not limited to the above-described one. Whenthe current extent R(n) of motion curvature is calculated, the CPU 120may take into account the size of the motion vector in addition to themotion direction change f(v1,v2) and the preceding extent R(n−1) ofmotion curvature.

In such a case, as expressed in the following condition formula (6), theCPU 120 rounds the motion direction change f(v1,v2), which has beencalculated by using the above-mentioned formula (1), to “0” if a valueof |v1|·|v2| resulting from multiplying the size of the motion vector r1by the size of the motion vector r2 is not smaller than a predeterminedvalue D:f(v1,v2)=f(v1,v2) (|v1|·|v2|<D)f(v1,v2)=0 (|v1|·|v2|≧D)  (6)

From the motion direction change f(v1,v2) thus calculated, the CPU 120calculates the extent R(n) of motion curvature by using theabove-mentioned formula (2).

The predetermined value D is set to such a value as enablingdiscrimination to be made between the case that a small circle (e.g., acircle having a size falling within the display screen) is drawn on thedisplay screen by the dragging and the case that a large circle (e.g., acircle having a size not falling within the display screen) is drawn onthe display screen. With that setting, the portable terminal 100 canrecognize the scale-up/down operation when the small circle is drawn,but it does not recognize the scale-up/down operation when the largecircle is drawn. In the portable terminal 100, therefore, even if thedragging is somewhat curved and a circular arc is drawn when the user isgoing to perform only the scroll operation, for example, thescale-up/down operation is not recognized.

The predetermined value D may be changed to a larger value after thescale-up/down operation has been started than that before thescale-up/down operation has been started. With such a modification,after the scale-up/down operation has been started, the portableterminal 100 recognizes the scale-up/down operation even when the amountof motion of the finger is comparatively larger than that before thescale-up/down operation has been started.

Alternatively, the CPU 120 may be designed so as not to recognize thescale-up/down operation when the size of the motion vector is notsmaller than a predetermined value, i.e., when the amount of motion ofthe finger per certain time is not less than a predetermined value.

2-2. Still Another Embodiment 2

In the embodiment described above, when the scale-up/down operation iscontinuously performed, the CPU 120 continuously scales up or down theWeb page image.

However, embodiments are not limited to the above-described one. Whenthe scaling factor of the Web page image reaches a predetermined value,the CPU 120 may temporarily hold the scaling factor of the Web pageimage fixed instead of continuously scaling up or down the Web pageimage.

More specifically, when the CPU 120 calculates the scaling factor changerate ΔS in accordance with the extent R(n) of motion curvature, the CPU120 sets, as a temporary scaling factor Sk, a value resulting fromadding the scaling factor change rate ΔS to the current scaling factorof the Web page image. Further, the CPU 120 obtains a final scalingfactor S from the temporary scaling factor Sk and displays the Web pageimage in accordance with the final scaling factor S.

FIG. 10 is a graph illustrating the relationship between the temporaryscaling factor Sk and the final scaling factor S. According to theillustrated graph, when the temporary scaling factor Sk is within therange from “0.9” to “1.1”, for example, the final scaling factor S isfixedly set to “1”.

Stated another way, even when the scale-up/down operation iscontinuously performed and the temporary scaling factor Sk is changed,the scaling factor of the Web page image is held fixed to 1, i.e., areference scaling factor, if the temporary scaling factor Sk is withinthe range from “0.9” to “1.1”.

In the portable terminal 100, therefore, when the scale-up/downoperation is continuously performed by the user, the Web page image iscontinuously scaled up or down, but when the scaling factor of the Webpage image reaches the reference scaling factor, it is temporarily fixedto the reference scaling factor.

Accordingly, when the scale-up/down operation is performed by the user,the portable terminal 100 can easily return the scaling factor of theWeb page image to the reference scaling factor.

The temporarily fixed scaling factor of the Web page image is notlimited to the reference scaling factor (i.e., ×1), and it may be one ofother various scaling factors. For example, when a predetermined blockis set in the image, the scaling factor may be set such that therelevant block is displayed just over the entire screen. As analternative, the scaling factor may be set such that an image selectedby, e.g., a cursor is displayed just over the entire screen.

2-3. Still Another Embodiment 3

In the embodiment described above, when the CPU 120 recognizes thescroll operation and the scale-up/down operation, the CPU 120 executesboth the processing corresponding to the scroll operation and theprocessing corresponding to the scale-up/down operation.

However, embodiments are not limited to the above-described one. Whenthe CPU 120 recognizes the scroll operation and the scale-up/downoperation, it may execute the processing corresponding to one of thescroll operation and the scale-up/down operation.

For example, when the CPU 120 recognizes the scroll operation and thescale-up/down operation, it may execute scaling-up or -down of the Webpage image corresponding to the scale-up/down operation withoutscrolling the Web page image corresponding to the scroll operation.

In such a case, when the CPU 120 detects the dragging performed on thefirst touch screen 104, it recognizes the scroll operation and furtherdetermines whether the scale-up/down operation is performed.

When the CPU 120 recognizes only the scroll operation, it executes thescrolling of the Web page image. When the CPU 120 recognizes the scrolloperation and the scale-up/down operation, it executes the scaling-up or-down of the Web page image.

As a result, the portable terminal 100 can separately execute thescrolling of the Web page image and the scaling-up or -down of the Webpage image.

Moreover, the portable terminal 100 can seamlessly execute theoperations of scrolling the Web page in an arbitrary direction andscaling up or down the Web page image at an arbitrary position with theuser performing only one drag operation.

Stated another way, when a plurality of gesture operations (such as thescroll operation and the scale-up/down operation) are recognized fromthe operation input made on the display screen, it is necessary for theportable terminal 100 to execute at least one of plural types ofprocessing corresponding to the plurality of gesture operations.

Accordingly, the portable terminal 100 is adaptable for not only anoperating system that executes plural types of processing in response toone operation input as in the above-described embodiment, but also anoperating system that executes one type of processing in response to oneoperation input as in Still Another Embodiment 3. Hence, the portableterminal 100 can realize a more versatile operating system.

2-4. Still Another Embodiment 4

In the embodiment described above, when the CPU 120 recognizes thescroll operation and the scale-up/down operation, the CPU 120 executesboth the scrolling of the Web page image and the scaling-up or -down ofthe Web page image.

However, embodiments are not limited to the above-described one. The CPU120 may selectively execute both the scrolling of the Web page image andthe scaling-up or -down of the Web page image, or only the scaling-up or-down of the Web page image depending on the size of a circle drawn inthe scale-up/down operation.

In such a case, the CPU 120 derives the screen coordinates of threetouch positions from the input signals successively sent from the firsttouch screen 104 per certain time, and determines whether those threetouch positions locate on a straight line. If the three touch positionsdo not locate on a straight line, the CPU 120 detects the radius of acircle passing the three touch positions, thereby detecting the radiusof a circle that is drawn by the dragging made on the display screen.

If the detected radius of the circle is smaller than a predeterminedvalue, the CPU 120 executes both the scrolling of the Web page image andthe scaling-up or -down of the Web page image. On the other hand, if thedetected radius of the circle is not smaller than the predeterminedvalue, the CPU 120 executes only the scaling-up or -down of the Web pageimage. As the distance through which the touch position is movedincreases, the detected radius of the circle increases and the distancethrough which the Web page image is scrolled also increases. Therefore,the predetermined value is set to such a value as not making the Webpage image hard to view when both the scrolling of the Web page imageand the scaling-up or -down of the Web page image are performed.

Thus, when the CPU 120 recognizes that both the scroll operation and thescale-up/down operation have been performed, it executes only thescaling-up or -down of the Web page image without scrolling the Web pageimage if the detected radius of the circle is not smaller than thepredetermined value.

As a result, the CPU 120 can prevent the Web page image from beingscrolled overly and hence can prevent the Web page image from becominghard to view.

In addition, when the CPU 120 recognizes that both the scroll operationand the scale-up/down operation have been performed, it executes boththe scrolling of the Web page image and the scaling-up or -down of theWeb page image if the detected radius of the circle is smaller than thepredetermined value.

As a result, the CPU 120 can execute both the scrolling of the Web pageimage and the scaling-up or -down of the Web page image in response toone drag operation when the Web page image does not become hard to viewwith the scrolling of the Web page image.

Alternatively, when the CPU 120 recognizes the scroll operation and thescale-up/down operation, it may execute both the scrolling of the Webpage image and the scaling-up or -down of the Web page image if thedistance of motion of the touch position per certain time is small. Onthe other hand, when the CPU 120 recognizes the scroll operation and thescale-up/down operation, it may execute only the scaling-up or -down ofthe Web page image if the distance of motion of the touch position percertain time is large.

2-5. Still Another Embodiment 5

In the embodiment described above, the CPU 120 displays, on the firsttouch screen 104, the Web browser screen to display the Web page image.

However, embodiments are not limited to the above-described one. The CPU120 may display the Web browser screen on both the first touch screen104 and the second touch screen 105 in a divided manner.

In such a case, when the scale-up/down operation is performed on thesecond touch screen 105, for example, the CPU 120 may scale up or downonly a portion of the Web page image, which is displayed on the secondtouch screen 105.

Stated another way, when the Web page image is displayed in a mannerdivided into a plurality of display screens, the CPU 120 may scale up ordown only a portion of the Web page image displayed on the displayscreen on which the scale-up/down operation has been performed.

As a result, the portable terminal 100 enables the user to confirm theWeb page images at a plurality of different scaling factors.

Alternatively, when the scale-up/down operation is performed on thefirst touch screen 104, for example, the CPU 120 may scale up or downthe entirety of the Web page image that is displayed on the first touchscreen 104 and the second touch screen 105.

2-6. Still Another Embodiment 6

In the embodiment described above, the CPU 120 brings the scaling-up or-down of the Web page image to an end when the extent R(n) of motioncurvature has become not more than the scale-up end value or not lessthan the scale-down end value while the scale-up/down operation is beingcontinued.

However, embodiments are not limited to the above-described one. The CPU120 may bring the scaling-up or -down of the Web page image to an endwhen a change rate of the extent R(n) of motion curvature (i.e., agradient of R(n) illustrated in the graph of FIG. 6) has become not morethan a predetermined value while the scale-up/down operation is beingcontinued.

Alternatively, the CPU 120 may bring the scaling-up or -down of the Webpage image to an end in accordance with both the value of the extentR(n) of motion curvature and the change rate of the extent R(n) ofmotion curvature.

2-7. Still Another Embodiment 7

In the embodiment described above, the first touch screen 104 and thesecond touch screen 105 send the input signals per certain time to theCPU 120.

However, embodiments are not limited to the above-described one. Thefirst touch screen 104 and the second touch screen 105 may irregularlysend the input signals to the CPU 120. In such a case, the CPU 120 maycalculate a motion vector so as to represent the amount and thedirection of motion of the touch position per certain time based on thescreen coordinate of the touch position, which has been derived from theinput signal, and on the time at which the relevant input signal hasbeen obtained.

2-8. Still Another Embodiment 8

In the embodiment described above, when the scale-up/down operation isperformed, the CPU 120 scales up or down the Web page image with thecurrent touch position being a center.

However, embodiments are not limited to the above-described one. Whenthe scale-up/down operation is performed, the CPU 120 may estimate acenter of a circle drawn in the scale-up/down operation and may set theestimated center as a center about which the Web page image is scaled upor down. In such a case, the CPU 120 estimates the center of the circledrawn in the scale-up/down operation, for example, by obtainingarbitrary three points from the locus of the touch position during thescale-up/down operation, and by determining a circle passing those threetouch positions.

2-9. Still Another Embodiment 9

In the embodiment described above, the CPU 120 recognizes the scrolloperation and the scale-up/down operation from the operation input madeon the display screen, and then executes the processing corresponding tothe recognized gesture operations.

However, embodiments are not limited to the above-described one. So longas the CPU 120 recognizes at least one or more gesture operations fromthe operation input made on the display screen, the CPU 120 mayadditionally recognize other various gesture operations and may executeprocessing corresponding to the recognized gesture operations.

For example, the CPU 120 detects the amount of motion and the extent ofmotion curvature per predetermined time for the operation input made onthe display screen. On that occasion, the CPU 120 may not only recognizethe scroll operation based on the amount of motion, but also recognizeother gesture operations corresponding to adjustment of brightness ofthe display screen or a sound level and rotation of the display screen,for example, based on the extent of motion curvature.

Moreover, in the embodiment described above, when the scroll operationand/or the scale-up/down operation is performed on the first touchscreen 104, the CPU 120 scrolls and/or scales up/down the Web page imagedisplayed on the first touch screen 104.

However, embodiments are not limited to the above-described one. The CPU120 may display other various images on the first touch screen 104, andmay scroll and/or scale up/down the displayed image in accordance withthe scroll operation and/or the scale-up/down operation. As analternative, the CPU 120 may scroll and/or scale up/down an imagedisplayed on the second touch screen 105 in accordance with the scrolloperation and/or the scale-up/down operation performed on the secondtouch screen 105.

2-10. Still Another Embodiment 10

In the embodiment described above, the first touch screen 104 whichserves as the detection unit 2, and the CPU 120 which serves as thedetection unit 2, as the recognition unit 3, and as the control unit 4are disposed in the portable terminal 100 that is an example of theinformation processing apparatus 1.

However, embodiments are not limited to the above-described one. So longas the portable terminal 100 has the same functions, the above-describedunits of the portable terminal 100 may be constituted by using othervarious suitable hardware or software components.

For example, the detection unit is not limited to the first touch screen104, and another unit, such as a mouse, an analog stick, or a stereosensor for recognizing a gesture of the user, may also be used so longas it has the function of detecting the operation input made on thedisplay screen.

While the touch screen made up of the liquid crystal panel and the touchpanel is disposed in the above-described embodiment, a liquid crystaldisplay with the touch panel function may be disposed instead. While thefirst touch screen 104 and the second touch screen 105 are disposed inthe portable terminal 100, the screen layout is not limited to theabove-described embodiment and only one display screen or three or moredisplay screens may be disposed instead.

In the embodiment described above, the present invention is applied tothe portable terminal 100. However, application forms are not limited tothe portable terminal. The present invention may be or can be applied toother various types of information processing apparatuses, e.g., acellular phone and a PDA (Personal Digital Assistant), so long as anoperation input on a display screen is detected in the informationprocessing apparatus.

2-11. Still Another Embodiment 11

In the embodiment described above, the programs for executing varioustypes of processing are written in the ROM 121 or the storage unit 128of the portable terminal 100.

However, embodiments are not limited to the above-described one. Thoseprograms may be recorded on a storage medium, such as a memory card, andthe CPU 120 in the portable terminal 100 may read the programs from thestorage medium and execute them. Further, a flash memory may be disposedinstead of the ROM 121, and the programs read from the storage mediummay be installed in the flash memory.

2-12. Still Another Embodiment 12

The present invention is not limited to the above-described embodimentand other embodiments. In other words, the present invention can also bepracticed in forms combining the above-described embodiment with part orall of one or more of the other embodiments, or in forms partlyextracted from the above-described embodiment and other embodiments. Forexample, Another Embodiment 1 and Still Another Embodiment 2 may becombined with each other.

It should be understood by those skilled in the art that variousmodifications, combinations, sub-combinations and alterations may occurdepending on design requirements and other factors insofar as they arewithin the scope of the appended claims or the equivalents thereof.

What is claimed is:
 1. Apparatus for controlling a display screen,comprising: a touch-sensitive panel generating position signalsrepresenting a set of positions of a single continuous touch activationbetween a first time and a second time, wherein the single continuoustouch activation comprises a change of direction; and a processorcoupled to the panel, the processor configured to: process the signalsto detect first and second characteristics of the set, wherein the firstcharacteristic is based on the direction of the single continuous touchactivation before the change of direction and the second characteristicis based on the direction of the single continuous touch activationafter the change of direction; and generate output signals causing adisplay screen to initiate first and second operations corresponding tothe first and second characteristics based on the single continuoustouch activation, wherein the first operation comprises a scrollingoperation, and wherein the second operation comprises a scalingoperation performed in conjunction with the scrolling operation.
 2. Theapparatus of claim 1, wherein the first characteristic comprises adistance between a position at the first time and a position at thesecond time.
 3. The apparatus of claim 2, wherein the processor isfurther configured to: compare the distance to a predetermined value;and determine whether to initiate the first operation based on thecomparison.
 4. The apparatus of claim 2, wherein the processor isfurther configured to: determine a speed of the activation across thedistance; and determine whether to initiate the first operation based onthe speed.
 5. The apparatus of claim 1, wherein the secondcharacteristic comprises a curvature between a position at the firsttime and a position at the second time.
 6. The apparatus of claim 5,wherein: when the curvature is clockwise, the second operation comprisesa scale-up operation; and when the curvature is counterclockwise, thesecond operation comprises a scale-down operation.
 7. The apparatus ofclaim 5, wherein the second operation comprises a scaling operationfocused at a center of the curvature.
 8. The apparatus of claim 5,wherein the processor is further configured to calculate the curvaturebased on a change in direction between a motion vector at the first timeand a motion vector at the second time.
 9. The apparatus of claim 8,wherein the second characteristic further comprises a size of the motionvector at the first time and a size of the motion vector at the secondtime.
 10. The apparatus of claim 1, wherein the processor is furtherconfigured to: determine a scaling factor; and pause the scalingoperation upon reaching a predetermined value of the scaling factor. 11.The apparatus of claim 1, wherein: the display screen comprises a firstdisplay screen of the apparatus; and the apparatus further comprises asecond display screen.
 12. The apparatus of claim 11, wherein the firstdisplay comprises the touch-sensitive panel.
 13. The apparatus of claim11, wherein the second display comprises the touch-sensitive panel. 14.A method for controlling a display screen, comprising: detecting a setof positions of a single continuous touch activation on a touch panelfrom a first time to a second time, wherein the single continuous touchactivation comprises a change of direction; initiating a first operationon a display screen based on a first characteristic of the set; andinitiating a second operation on the display screen based on a secondcharacteristic of the set, wherein both the first operation and thesecond operation are based on the single continuous touch activation,wherein the first characteristic is based on the direction of the singlecontinuous touch activation before the change of direction and thesecond characteristic is based on the direction of the single continuoustouch activation after the change of direction, wherein the firstoperation comprises a scrolling operation, and wherein the secondoperation comprises a scaling operation performed in conjunction withthe scrolling operation.
 15. The method of claim 14, wherein initiatingthe first and second operations comprises initiating the first andsecond operations sequentially.
 16. The method of claim 14, whereininitiating the first and second operations comprises initiating thefirst and second operations simultaneously.
 17. The method of claim 14,wherein detecting the set of positions comprises detecting the set ofpositions on a touch panel coincident with the display screen.
 18. Themethod of claim 14, wherein detecting the set of positions comprisesdetecting the set of positions on a touch screen not coincident with thedisplay screen.
 19. A non-transitory computer-readable medium storing aset of instructions that, when executed by a processor, perform amethod, the method comprising: detecting a set of positions of a singlecontinuous touch activation on a touch panel from a first time to asecond time, wherein the single continuous touch activation comprises achange of direction; initiating a first operation on a display screenbased on a first characteristic of the set; and initiating a secondoperation on the display screen based on a second characteristic of theset, wherein both the first operation and the second operation are basedon the single continuous touch activation, wherein the firstcharacteristic is based on the direction of the single continuous touchactivation before the change of direction and the second characteristicis based on the direction of the single continuous touch activationafter the change of direction, wherein the first operation comprises ascrolling operation, and wherein the second operation comprises ascaling operation performed in conjunction with the scrolling operation.